/* Mix-ins */
.border-radius(@radius: 10px)
{
    -webkit-border-radius: @radius;
    -moz-border-radius: @radius;
    border-radius: @radius;
}

.box-reflect (@offset: 0px){
	-webkit-box-reflect:below @offset -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0.6, transparent), to(white));
}

.box-shadow(@x:0, @y:0, @blur:2px, @color:#888)
{
    box-shadow: @x @y @blur @color;
    -webkit-box-shadow:@x @y @blur @color;
    -moz-box-shadow:@x @y @blur @color;
}
 
.text-shadow(@color:#fff)
{
    text-shadow:0px 0px 1px @color;
}
 
.opacity(@op:100)
{
    filter:alpha(opacity=@op);
    -moz-opacity:@op/100;
    -khtml-opacity:@op/100;
    opacity:@op/100;
}
 
.background-gradient(@from:#000, @to:#EEE)
{
    background: @from;
    background-image: -webkit-gradient(linear, left top, left bottom, from(@from), to(@to));
    background-image: -moz-linear-gradient(top, @from, @to);
    filter: formatstring("progid:DXImageTransform.Microsoft.gradient(startColorstr='{0}', endColorstr='{1}')", @from, @to); /* IE6,IE7 */
    -ms-filter: formatstring("\"progid:DXImageTransform.Microsoft.gradient(startColorStr='{0}', EndColorStr='{1}')\"", @from, @to); /* IE8 */
}
 
.transition(@range: all, @time: 1s, @ease: ease-in-out)
{
    -moz-transition: @range @time @ease;
    -webkit-transition: @range @time @ease;
    -o-transition: @range @time @ease;
    transition: @range @time @ease;
}
 
.skew(@x:35, @y:0)
{
    -webkit-transform: skew(formatstring("{0}deg", @x), formatstring("{0}deg", @y));
    -moz-transform: skew(formatstring("{0}deg", @x), formatstring("{0}deg", @y));
    -o-transform: skew(formatstring("{0}deg", @x), formatstring("{0}deg", @y));
    -ms-transform: skew(formatstring("{0}deg", @x), formatstring("{0}deg", @y));
    transform: skew(formatstring("{0}deg", @x), formatstring("{0}deg", @y));
}
 
.scale(@scale: 1)
{
    -webkit-transform: scale(@scale);
    -moz-transform: scale(@scale);
    -o-transform: scale(@scale);
    -ms-transform: scale(@scale);
    transform: scale(@scale);
}
 
.rotate(@deg:35)
{
    -webkit-transform: rotate(formatstring("{0}deg", @deg));
    -moz-transform: rotate(formatstring("{0}deg", @deg));
    -o-transform: rotate(formatstring("{0}deg", @deg));
    -ms-transform: rotate(formatstring("{0}deg", @deg));
    transform: rotate(formatstring("{0}deg", @deg));
}
 
.translate(@x: 10px, @y: 10px)
{
    -webkit-transform: translate(@x, @y);
    -moz-transform: translate(@x, @y);
    -o-transform: translate(@x, @y);
    -ms-transform:translate(@x, @y);
    transform: translate(@x, @y);
}

.text-style(@font: "Helvetica, Arial, sans-serif", @size: 12px, @weight: 100)
{
	font-family: @font;
	font-size: @size;
	font-weight: @weight;
}

.text-style-headline(@font: "Helvetica, Arial, sans-serif")
{
	.text-style(@font, 40px, 400);
}

.text-style-large(@font: "Helvetica, Arial, sans-serif")
{
	.text-style(@font, 20px, 400);
}

.text-style-medium(@font: "Helvetica, Arial, sans-serif")
{
	.text-style(@font, 14px, 200);
}

.text-style-small(@font: "Helvetica, Arial, sans-serif")
{
	.text-style(@font, 12px);
}

.alternate-text
{
	color: gray;
	font-style: italic;
}

.round-base(@dim: 1em)
{
	display: inline-block;

	text-align: center;
	text-decoration: none;
	font-weight: bold;
	
	width: @dim;
	height: @dim;
	
	.border-radius(2 * @dim);
}

